一、字符串和列表的异同点
符串和列表都可以通过索引访问字符串中的某个字符,列表中的某个元素。(或者叫下标访问),Python计数是从0开始。索引值可以是0和正整数,如果字符串或者列表的长度为n,则“0 <= 索引值 <= n-1”。
对于列表,list_2[::-1],效果和reverse()方法类似,区别在于前者创建了一个新的列表,后者是把原列表逆序,没有返回值。
而对于字符串,因为字符串immutable类型,也就是说字符串的值是不能修改的,想用类似 str_1[0] = 's' 的方式修改字符串str_1的值,是不可以的。也因为这样,字符串是没有reverse()方法的,因此用str_1[::-1]获得一个原字符串的逆序字符串,就是一个比较简单高效的方法。
列表推导式
list_2 = [i**3 for i in range(1,10)]
print(list_2)
PS D:\python\2020-zhihuquanzi> python -u "d:\python\2020-zhihuquanzi\0404_4.py"
[1, 8, 27, 64, 125, 216, 343, 512, 729]
列表和字符串之间的转换
字符串转列表
str_2 = 'abcd'
l2 = list(str_2)
print(l2)
PS D:\python\2020-zhihuquanzi> python -u "d:\python\2020-zhihuquanzi\0404_2.py"
['a', 'b', 'c', 'd']
列表转字符串
list_2 = ['a','b','c','d']
s2 = ''.join(list_2)
print(s2)
PS D:\python\2020-zhihuquanzi> python -u "d:\python\2020-zhihuquanzi\tempCodeRunnerFile.py"
abcd
需要注意join()方法只能传入字符串列表,直接传入数字列表会报错
我们可以考虑用列表推导式先把数字列表转换为字符串列表,再用join()方法转换为字符串
list_1 = [1,2,3,4]
list_1_s = [str(i) for i in list_1]
s1 = ''.join(list_1_s)
print(s1)
PS D:\python\2020-zhihuquanzi> python -u "d:\python\2020-zhihuquanzi\0404_2.py"
1234
数字转列表
数字转字符串