这个我学过么?

学习python3的野路子——字符串(string)、列表(li

2019-02-24  本文已影响0人  HerdingCat

字符串(string)

python3中变量可以不用设置变量类型,各种类型可以相互转化。可能这就是字符串使用如此灵活的一个原因。以下介绍一些基本概念,详细细节参见对应参考资料。

列表(list)

python3中的list有较多的操作以及函数,以下简单罗列部分,更多内容参见对应参考资料[4][5]

关于切片(slice)

s[i:j:k][7]这种形式返回[i, j)区间内每隔k的元素组成的新列表.当iNone时为0jNone时为len(s)。其中的k不能为0
再说明一下各个字母的含义:i表示起始位置,j表示终止位置后一位,k表示间隔。
如执行s = [1, 2, 3, 4, 5, 6]print(s[0: 3: 2]),得到[1, 3]
该过程可以直观的理解为:

关于第七份参考资料[7]以及其他[8]中的测试

s = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(s[: : -1])
print(s[5: 1: -2])
print(s[-1: -3: -1])
print(s[-3: : -1])
print(s[: -1: -1])
# 运行结果
# [9, 8, 7, 6, 5, 4, 3, 2, 1]
# [6, 4]
# [9, 8]
# [7, 6, 5, 4, 3, 2, 1]
# []

以第三个为例,

ij不是None,但为负。则令i = len(s) + (-1) = 9 - 1 = 8;同理,j = 6
取原列表中[j+1, i+1)的子列表,得到[8, 9];在做逆序操作,得到[9, 8]
按间隔k = 1组成返回的列表,即[9, 8]

参考


  1. https://www.w3cschool.cn/python3/python3-string.html

  2. https://intellipaat.com/tutorial/python-tutorial/datatypes-in-python/

  3. https://docs.python.org/3/library/stdtypes.html#text-sequence-type-str

  4. http://www.cnblogs.com/zhengyuxin/articles/1938300.html

  5. https://docs.python.org/3/library/stdtypes.html#sequence-types-list-tuple-range

  6. https://docs.python.org/3/faq/programming.html#faq-multidimensional-list

  7. https://stackoverflow.com/questions/509211/understanding-slice-notation

  8. https://bytes.com/topic/python/answers/823372-string-i-j-k

上一篇下一篇

猜你喜欢

热点阅读